<?php

class AgregadosController extends AppController {
    var $name = 'Agregados';
   
    // paginado de grilla
    public $components = array('Paginator');
    public $paginate = null;
    
    function nuevo() {
        $funcion_previa = $this->Session->read('FuncionPrevia');
        $this->set('funcion_previa', $funcion_previa);
        
        if (!empty($this->data)) {
            $this->Agregado->create();
            if ($this->Agregado->save($this->data)) {
                $this->Session->setFlash('El agregado fue creado.');
                switch($funcion_previa) {
                    case 'Menus':
                        $this->redirect(array('controller' => 'menus','action' => 'index'));
                        break;
                    default:
                        $this->redirect(array('controller' => 'agregados','action' => 'index'));                        
                        break;
                }
            }
        }
    }

    function editar($id = null) {
        $funcion_previa = $this->Session->read('FuncionPrevia');
        $this->set('funcion_previa', $funcion_previa);
        
        if (empty($this->request->data)) {
            $this->request->data = $this->Agregado->findById($id);
        } else {
            // Save logic goes here
            if (!empty($this->data)) {
                $this->Agregado->id = $id;                
                if ($this->Agregado->save($this->data)) {
                    $this->Session->setFlash('El agregado fue actualizado.');
                    switch($funcion_previa) {
                        case 'Menus':
                            $this->redirect(array('controller' => 'menus','action' => 'index'));
                            break;
                        default:
                            $this->redirect(array('controller' => 'agregados','action' => 'index'));                        
                            break;
                    }                    
                }
            }
        }
    }

    function index() {
//        Debugger::dump($this->data);
        $this->Session->write('FuncionPrevia', 'Agregados');
        
        if (!empty($this->data)) {
            $condiciones = array();
            if (!empty($this->data['Agregado']['filtro_codigo'])) {
                $condiciones['Agregado.codigo'] = $this->data['Agregado']['filtro_codigo'];
            }
            if (!empty($this->data['Agregado']['filtro_descripcion'])) {
                $condiciones['Agregado.descripcion LIKE'] = '%'.$this->data['Agregado']['filtro_descripcion'].'%';
            }
            if ($this->data['Agregado']['filtro_guarni']) {
                if ($this->data['Agregado']['filtro_salsa']) {
                    $condiciones['Agregado.tipo'] = array(1,2);
                } else {
                    $condiciones['Agregado.tipo'] = 1;
                }
            } else {
                if ($this->data['Agregado']['filtro_salsa']) {
                    $condiciones['Agregado.tipo'] = 2;
                } else {
                    $condiciones['Agregado.tipo'] = 0;
                }                
            }                
            $condiciones['Agregado.activo'] = $this->data['Agregado']['filtro_activo'];
            $this->paginate = array(
                    'limit' => 11,
                    'order' => array('Agregado.codigo' => 'asc', 'Agregado.descripcion' => 'asc'),
                    'conditions' => $condiciones);            
        } else {
            $condiciones = array('Agregado.activo' => 1);
            $this->paginate = array(
                    'limit' => 11,
                    'order' => array('Agregado.codigo' => 'asc','Agregado.descripcion' => 'asc'),
                    'conditions' => $condiciones);
        }
        
        $this->Paginator->settings = $this->paginate;    
        $data = $this->Paginator->paginate('Agregado');
        
        $this->set('agregados', $data);       
        
        $this->data = $this->Agregado->create(); 
    }
 
}
                
?>
